#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<stdlib.h>

int main()
{
  printf("testexec ... begin\n");

  char* const argv[]={"myprocess",NULL};
  //char* const envp[]=
  //{
  //  "HAHA=11111111111",
  //  "HEHE=2222222222",
  //  NULL
  //};

  putenv("HHH=111111111");
  extern char** environ;
  execvpe("./myprocess",argv,environ);
  exit(2);//替换失败，执行exit函数

  return 0;
}



//int main()
//{
//  printf("testexe ... begin\n");
//  pid_t id=fork();
//  
//  if(id==-1)
//  {
//    printf("fork fail\n");
//    return 1;
//  }
//  else if(id==0)
//  {
//    //child
//    execl("/usr/bin/lsss","lsss","-a","-l",NULL);
//    exit(2);
//  }
//  else 
//  {
//    //parent
//    int status=0;
//    pid_t rid=waitpid(id,&status,0);
//    if(rid>0)
//    {
//      printf("wait success,child exit_code=%d\n",WEXITSTATUS(status));
//    }
//  }
//
//
//
////  printf("testexec ... begin\n");
////
////  execl("/usr/bin/ls","ls","-a","-l",NULL);
////
////  printf("testexec ... end\n");
////
//  return 0;
//}
